package com.itany.corejava.code07_常用类.内部类;

/**
 * @author MissChen
 * @date 2024年03月04日 10:54
 */
public class Test04_匿名内部类 {
    public static void main(String[] args) {
        // SomeInterface someClass=new SomeClass();
        // someClass.doSome();


        // 创建匿名内部类时, 必须使用new 关键字进行声明
        // 接口/抽象类 变量名 = new 接口/抽象类(){ // 匿名内部类的内容}
        SomeInterface someClass=new SomeInterface() {
            @Override
            public void doSome() {
                System.out.println("这是匿名内部类实现的接口的方法");
            }
        };
        someClass.doSome();

        OtherClass otherClass=new OtherClass() {
            @Override
            void doSome() {
                System.out.println("这是通过匿名内部类实现的抽象类的方法");
            }
        };
        otherClass.doSome();


    }
}
interface SomeInterface{
    void doSome();
}
// class SomeClass implements SomeInterface{
//     @Override
//     public void doSome() {
//         System.out.println("这是需要重写的方法");
//     }
// }
abstract class OtherClass{
    abstract void doSome();
}
// class LittleClass extends OtherClass{
//     @Override
//     void doSome() {
//         System.out.println("这是需要重写的方法");
//     }
// }

